﻿using Sidvall.Collections;

namespace Sidvall.WorkItemManager.UI.Entities.ConfigModel
{
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling")]
    public partial class EntityCache : Sidvall.UI.Entities.EntityCacheBase
    {
        #region Public Members

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public UserConfigurationCollection UserConfigurationCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public ServerConnectionCollection ServerConnectionCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public ScheduleCollection ScheduleCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public IntervalRetryPolicyCollection IntervalRetryPolicyCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public MonitoredWorkItemCollection MonitoredWorkItemCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public MonitorContextCollection MonitorContextCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WorkItemAlarmCollection WorkItemAlarmCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public MonitorExecutionContextCollection MonitorExecutionContextCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public IdentityProviderCollection IdentityProviderCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WebExecutionContextCollection WebExecutionContextCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WebContextCollection WebContextCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WebTargetCollection WebTargetCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WebResultCollection WebResultCache { get; set; }
        
        #region Clear

        public void Clear()
        {
            this.UserConfigurationCache = null;
            this.ServerConnectionCache = null;
            this.ScheduleCache = null;
            this.IntervalRetryPolicyCache = null;
            this.MonitoredWorkItemCache = null;
            this.MonitorContextCache = null;
            this.WorkItemAlarmCache = null;
            this.MonitorExecutionContextCache = null;
            this.IdentityProviderCache = null;
            this.WebExecutionContextCache = null;
            this.WebContextCache = null;
            this.WebTargetCache = null;
            this.WebResultCache = null;
        }

        #endregion
        
        #endregion
        #region Constructors

        public EntityCache()
        {
        }

        #endregion
    }
}